package numIdenticalPairs;

public class Solution {
    public int numIdenticalPairs(int[] nums) {
//        // 暴力 i<j
//        int ans = 0;
//        for (int i = 0; i < nums.length; i++) {
//            for (int j = i+1; j < nums.length ; j++) {
//                if(nums[i] == nums[j]){
//                    ans++;
//                }
//            }
//        }
//        return ans;

        // 组合计数法 记录每个数字在数组中出现的次数 每个数字对应的数对就有 n*(n-1)/2
        int[] times = new int[101];
        for (int num : nums) {
            times[num]++;
        }
        int ans = 0;
        for (int time: times) {
            ans+=(time*(time-1)/2);
        }
        return ans;
    }
}
